Em Elixir, abandonamos o modelo imperativo de modificar estado por uma abordagem baseada em fluxo onde os programas são transformações discretas, transformações puras. Em vez de dizer ao computador como para mudar um valor, definimos uma pipeline de funções onde A Programação Deve Ser Sobre Transformar Dados.
1. O Mandato da Imutabilidade
Em Elixir, todos os valores são imutáveis. Uma vez que os dados são criados, eles não podem ser alterados. Isso garante que Dados Imutáveis São Dados Conhecidos—informação nunca mudará inesperadamente, eliminando grandes categorias de erros relacionados ao estado. Essa transformação nunca altera dados; ao contrário, cada função cria uma nova versão fresca dos dados.
2. A Filosofia do Operador Pipeline
O operador pipeline (|>) trata os dados como um fluido se movendo por uma linha de produção. Uma linguagem funcional nos permite pensar em termos de funções que transformam dados passo a passo.
3. O Contexto do Ator
No VM Erlang (BEAM), o código executa em pequenos processos concorrentes, cada um com seu próprio estado. Os processos se comunicam entre si por meio de mensagens. Como a comunicação ocorre por troca de mensagens, o compartilhamento de dados entre máquinas diferentes em uma rede é tratado de forma transparente pelo VM.